package cn.doitedu.javase.thread;

public class _01_多线程最简单示例 {
    public static void main(String[] args) throws InterruptedException {

        System.out.println("主线程开始运行了");

        // 构造一个线程对象
        Thread thread = new Thread(new MyTask());
        thread.setDaemon(true);  // 将这个线程设置为  守护 线程（主线程一旦结束，那么不会等待守护线程继续运行）
        // 启动一个新的线程
        thread.start();

        Thread thread2 = new Thread(new MyTask2());
        thread2.setDaemon(true);
        thread2.start();

        System.out.println("主线程马上要结束了");
    }
}


class MyTask2 implements Runnable{
    @Override
    public void run() {
        for(int i=0;i<10;i++){
            System.out.println("爱你爱到死 " + i);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
            }
        }
    }
}


// runnable不是一个线程，而是一个可以让线程去执行的任务逻辑
class MyTask implements Runnable{
    // run方法就是你想让一个线程去执行的任务逻辑
    @Override
    public void run() {
        for(int i=0;i<10;i++){
            System.out.println("i love you");
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
            }
        }

    }
}